package com.dao;

import java.util.ArrayList;
import java.util.List;

import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

import com.bean.TurmaBean;

public class TurmaDao {
	
	public static final String TABELA = "turma";
	
	public static final String COLUNA_TUR_UNI_ID = "uni_id";
	public static final String COLUNA_TUR_ID = "tur_id";
	public static final String COLUNA_TUR_NOME = "tur_nome";
	
	public long insert(SQLiteDatabase escola, TurmaBean turmaBean){
		
		ContentValues valores = new ContentValues();
		valores.put(COLUNA_TUR_UNI_ID, turmaBean.getUnidade().getId());
		valores.put(COLUNA_TUR_NOME, turmaBean.getNome());
		
		return escola.insert(TABELA, null, valores);
		
	}
	
	public long update(SQLiteDatabase escola, TurmaBean turmaBean){
		
		ContentValues valores = new ContentValues();
		valores.put(COLUNA_TUR_NOME, turmaBean.getNome());
		
		return escola.update(TABELA, valores, COLUNA_TUR_UNI_ID + " = " + turmaBean.getUnidade().getId() + 
				" AND " + COLUNA_TUR_ID + " = " + turmaBean.getId(), null);
		
	}
	
	public boolean delete(SQLiteDatabase escola, TurmaBean turmaBean){
		return escola.delete(TABELA, COLUNA_TUR_UNI_ID + " = " + turmaBean.getUnidade().getId() + 
				" AND " + COLUNA_TUR_ID + "=" + turmaBean.getId(), null) > 0;
	}
	
	public TurmaBean buscaPorCodigo(SQLiteDatabase escola, long unidadeId, long rowId){
		
		StringBuilder sql = new StringBuilder();
		sql.append(" SELECT * ");
		sql.append("   FROM " + TABELA );
		sql.append("  WHERE "+ COLUNA_TUR_UNI_ID + "=" + unidadeId );
		sql.append("    AND "+ COLUNA_TUR_ID + "=" + rowId);
		
		TurmaBean turmaBean = new TurmaBean();
		
		Cursor cursor = escola.rawQuery(sql.toString(), null);

		if(cursor.getCount() > 0){
			
			turmaBean.getUnidade().setId(cursor.getInt(cursor.getColumnIndex(COLUNA_TUR_UNI_ID)));
			turmaBean.setId(cursor.getInt(cursor.getColumnIndex(COLUNA_TUR_ID)));
			turmaBean.setNome(cursor.getString(cursor.getColumnIndex(COLUNA_TUR_NOME)));
			
			cursor.close();

			return turmaBean;
			
		}
		
		else{
			
			cursor.close();
			return null;
			
		}
		
	}
	
	public List<TurmaBean> getAll(SQLiteDatabase escola, long unidadeId){

		StringBuilder sql = new StringBuilder();
		sql.append(" SELECT * FROM " + TABELA + " WHERE " + COLUNA_TUR_UNI_ID + " = '" + unidadeId + "' ");

		List<TurmaBean> turmaList = new ArrayList<TurmaBean>();

		Cursor cursor = escola.rawQuery(sql.toString(), null);

		while(cursor.moveToNext()){

			TurmaBean turmaBean = new TurmaBean();

			turmaBean.getUnidade().setId(cursor.getInt(cursor.getColumnIndex(COLUNA_TUR_UNI_ID)));
			turmaBean.setId(cursor.getInt(cursor.getColumnIndex(COLUNA_TUR_ID)));
			turmaBean.setNome(cursor.getString(cursor.getColumnIndex(COLUNA_TUR_NOME)));

			turmaList.add(turmaBean);

		}

		cursor.close();
		return turmaList;

	}

}
